package com.gitee.qdbp.general.system.api.tenant.model;

import com.gitee.qdbp.base.annotation.DataIsolation;
import com.gitee.qdbp.base.annotation.OperateTraces;

/**
 * 租户信息更新类
 *
 * @author zhh
 * @version 181029
 */
@OperateTraces(target = "where")
@DataIsolation(target = "where")
public class TenantCoreUpdate extends TenantCoreBean {

    /** 版本序列号 **/
    private static final long serialVersionUID = 1L;

    /** 租户编号是否更新为空值 **/
    private Boolean tenantCodeToNull;

    /** 租户类型(1.团队|2.组织)是否更新为空值 **/
    private Boolean tenantTypeToNull;

    /** 名称是否更新为空值 **/
    private Boolean tenantNameToNull;

    /** 创建人ID是否更新为空值 **/
    private Boolean creatorIdToNull;

    /** 选项是否更新为空值 **/
    private Boolean optionsToNull;

    /** 启用状态(1.正常|2.未启用)是否更新为空值 **/
    private Boolean usingStateToNull;

    /** 更新操作的条件 **/
    private TenantCoreWhere where;

    /** 判断租户编号是否更新为空值 **/
    public Boolean isTenantCodeToNull() {
        return tenantCodeToNull;
    }

    /**
     * 设置租户编号是否更新为空值
     *
     * @param tenantCodeToNull 租户编号是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setTenantCodeToNull(Boolean tenantCodeToNull) {
        this.tenantCodeToNull = tenantCodeToNull;
    }

    /** 判断租户类型(1.团队|2.组织)是否更新为空值 **/
    public Boolean isTenantTypeToNull() {
        return tenantTypeToNull;
    }

    /**
     * 设置租户类型(1.团队|2.组织)是否更新为空值
     *
     * @param tenantTypeToNull 租户类型(1.团队|2.组织)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setTenantTypeToNull(Boolean tenantTypeToNull) {
        this.tenantTypeToNull = tenantTypeToNull;
    }

    /** 判断名称是否更新为空值 **/
    public Boolean isTenantNameToNull() {
        return tenantNameToNull;
    }

    /** 设置名称是否更新为空值 **/
    public void setTenantNameToNull(Boolean tenantNameToNull) {
        this.tenantNameToNull = tenantNameToNull;
    }

    /** 判断创建人ID是否更新为空值 **/
    public Boolean isCreatorIdToNull() {
        return creatorIdToNull;
    }

    /**
     * 设置创建人ID是否更新为空值
     *
     * @param creatorIdToNull 创建人ID是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setCreatorIdToNull(Boolean creatorIdToNull) {
        this.creatorIdToNull = creatorIdToNull;
    }

    /** 判断选项是否更新为空值 **/
    public Boolean isOptionsToNull() {
        return optionsToNull;
    }

    /** 设置选项是否更新为空值 **/
    public void setOptionsToNull(Boolean optionsToNull) {
        this.optionsToNull = optionsToNull;
    }

    /** 判断启用状态(1.正常|2.未启用)是否更新为空值 **/
    public Boolean isUsingStateToNull() {
        return usingStateToNull;
    }

    /**
     * 设置启用状态(1.正常|2.未启用)是否更新为空值
     *
     * @param usingStateToNull 启用状态(1.正常|2.未启用)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setUsingStateToNull(Boolean usingStateToNull) {
        this.usingStateToNull = usingStateToNull;
    }

    /** 获取更新操作的条件 **/
    public TenantCoreWhere getWhere() {
        return where;
    }

    /** 获取更新操作的条件, force=是否强制返回非空条件 **/
    public TenantCoreWhere getWhere(boolean force) {
        if (where == null && force) {
            where = new TenantCoreWhere();
        }
        return where;
    }

    /** 设置更新操作的条件 **/
    public void setWhere(TenantCoreWhere where) {
        this.where = where;
    }
}